nginx代理出现静态资源读取不到

您所在的位置:网站首页 nginx 返回数据不完整 nginx代理出现静态资源读取不到

nginx代理出现静态资源读取不到

2023-09-07 10:31| 来源: 网络整理| 查看: 265

原因:读取到是nginx服务器地址下的静态资源,而非被代理服务器的静态资源。 解决:设置如下,形似动静分离

# 反向代理时,静态资源文件读取地址不是实际服务器地址,而是nginx的地址,需要如下配置才能真正读取到静态资源 location ~ .* { proxy_pass http://192.168.93.105; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Fonwarded-For $proxy_add_x_forwarded_for; }

主要作用是 proxy_set_header Host $http_host 中 $http_host,如果 $host 依旧不会有效。该处原因暂未明确

2、反向代理可以直接在location 中指定 proxy_pass http://192.168.93.105:8082; 或者 通过 upstream domain 指定服务组,然后指定服务组名(domain)进行代理:proxy_pass http://server_8082; 。

location / { # 反向代理。负载均衡可通过upstream设置多个服务器 proxy_pass http://server_8082; # proxy_pass http://192.168.93.105:8082; # 下面几个配置,意思是将http头转发给后端应用,不然你后端应用服务拿客户端IP地址的时候拿到的是nginx代理的地址而不是客户端的。 #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #root html; index index.html index.htm; }

综合

# 设置负载服务器池(服务组),如果有域名采用域名作为名称 upstream server_8082 { server 192.168.93.105:8082 weight=2; #server 192.168.0.105:8083 weight=1; } server { listen 8082; server_name localhost; location / { # 反向代理。负载均衡可通过upstream设置多个服务器 proxy_pass http://server_8082; # proxy_pass http://192.168.93.105:8082; # 下面几个配置,意思是将http头转发给后端应用,不然你后端应用服务拿客户端IP地址的时候拿到的是nginx代理的地址而不是客户端的。 #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #root html; index index.html index.htm; } # 反向代理时,静态资源文件读取地址不是实际服务器地址,而是nginx的地址,需要如下配置才能真正读取到静态资源 location ~ .* { proxy_pass http://server_8082; # proxy_pass http://192.168.93.105:8082; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Fonwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

【参考1】 【参考2】



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3